using System;

namespace PluginFrame
{
	[Serializable]
	public abstract class ProjectProperty : IProjectProperty
	{
		protected string mProjectName;

		protected Guid mProjectID;

		protected PcrSystemType mProjectSystemType;

		protected string mDescription = string.Empty;

		protected bool mIsDisplay;

		public bool IsDisplay
		{
			get
			{
				return mIsDisplay;
			}
			set
			{
				mIsDisplay = value;
			}
		}

		public string ProjectName
		{
			get
			{
				return mProjectName;
			}
			set
			{
				mProjectName = value;
			}
		}

		public Guid ProjectID
		{
			get
			{
				return mProjectID;
			}
			set
			{
				mProjectID = value;
			}
		}

		public PcrSystemType ProjectSystemType
		{
			get
			{
				return mProjectSystemType;
			}
			set
			{
				mProjectSystemType = value;
			}
		}

		public string Description
		{
			get
			{
				return mDescription;
			}
			set
			{
				mDescription = value;
			}
		}

		public abstract IProjectProperty Create();
	}
}
